1. Field of the Invention
The invention relates to signal processors. More particularly, the invention relates to signal processing systems and methods with cascaded integrator-comb interpolation filters.
2. Description of Related Art
Significant advancements in digital signal processing are due largely to advancements in integrated-circuit fabrication and digital computer technology. That is, the rapid developments in integrated-circuit technology, particularly very-large-scale integration (VLSI) of electronic circuits, have lead to the development of powerful and inexpensive digital computers and special-purpose digital hardware. These inexpensive and relatively fast digital systems are capable of performing complex digital signal processing techniques, which are usually too difficult and/or too expensive to be performed by analog circuitry or analog signal processing systems.
As such, digital signal processing is now commonly employed in a wide variety of applications including communication systems (e.g., cellular, wireless, and radar systems), image processing, and speech processing.
Sample rate conversion techniques (or processes) are typically performed by digital processing systems. In general, such techniques digitally convert the sample rate of a signal to a different rate. When the converted sample rate is lower than the original sampling rate, the process is called decimation. When the converted sample rate is higher, the process is called interpolation. In effect, decimation reduces the number of samples, whereas interpolation creates additional samples of an original signal from a reduced set of samples.
Interpolation is required in systems such as digital transmitters where the signal to be transmitted, at a given carrier frequency, must be sampled at a rate which is at least twice the frequency of a carrier signal. For example, speech--which is typically sampled at 8,000 samples per second (8 KHz)--must be interpolated up to a sample rate of 50 million samples per second (50 MHz) before it can be modulated to carrier frequencies up to 25 million cycles per second (25 MHz).
Conventionally, signal processors have utilized a wide variety of interpolation filters to achieve this end. An efficient interpolation filter for this purpose was described in an article by Eugene B. Hogenhauer, "An Economical Class of Digital Filters for Decimation and Interpolation," IEEE Transactions on Acoustics, Speech and Signal Processing, Vol. ASSP 29, No. 2, April 1981. The filter disclosed in the Hogenhauer article is called a cascaded integrator-comb (CIC) interpolation filter. The CIC interpolator filter represented a significant advancement in the art and has since become the filter of choice for many applications.
CIC interpolation filters are constructed as a series of "N" comb filter circuits (subtractors), followed by a zero pad circuit, followed by a series of "N" integrator circuits (adders). The comb section of the filter operates at a low sample rate, whereas the integrator section of the filter operates at a high sampling rate. Typically, the interpolation factor (R) is set between 2 and 10,000. The number of stages (N) is selected according to the desired level of accuracy. The lowest practical number of stages commonly employed today is 3 (lowest accuracy) and the highest is 5 (highest accuracy). Typical filters have 4 stages.
In operation, each comb circuit outputs the difference between its current input sample and its previous input sample. The zero pad circuit outputs the current input sample followed by "R-1" zero samples. Each integrator circuit outputs the sum of its current input sample with its previous output sample. The output of the last integrator stage is the interpolated output of the CIC interpolation filter.
Implementing a CIC interpolation filter generally involves the following three requirements: 1) the filter must be reset before use; 2) addition and subtractions must be performed using modulo arithmetic; and 3) the word size in the subtracters, adders, and storage elements must be large enough to accommodate the arithmetic gain of the filter. The first requirement is typically satisfied by clearing all storage elements before use. The second requirement is satisfied by using sign-2's-complement arithmetic. With respect to the third requirement, the Hogenhauer article disclosed that the requirement is satisfied if the last integrator stage can accommodate at least a sample (word) size of B.sub.out bits, where B.sub.out =(B.sub.in +log.sub.2 R.sup.(N-1)), B.sub.in is the number of bits per input sample, and R is the interpolation factor. In other words, the output of the last integrator stage (and thus the filter) must be able to accommodate an amplitude gain of R.sup.(N-1).
There are many significant advantages of CIC interpolation filters including that: no multipliers are required (i.e., processing is done with simple subtraction and addition functions); no storage is required for filter coefficients or large blocks of input samples; the structure of the filter is very "regular," primarily consisting of two basic building blocks (comb filters and integrators); little external control or complicated local timing is required; and the same filter design can easily be used for a wide range of applications. For example, CIC interpolation filters require only "N" comb filters, "N" integrators, and "2N" storage elements to interpolate by very large amounts. This contrasts with other interpolation systems and methods that generally require at least log.sub.2 R multipliers and adders. See Crochier et al., "Interpolation and Decimation of Digital Signals-A Tutorial Review," Proceedings of the IEEE, Vol. 69, No. 3, March 1981.
When properly designed and initialized, CIC interpolation filters are considerably stable and can process, without error, for extended periods of time. That is, the combination of the comb filters and the integrator allow the CIC interpolation filter to continuously operate in its intended manner.
Conventional CIC interpolation filters, however, have sustained disadvantages. That is, a change in filter parameters (e.g., the interpolation factor "R")or the interjection of circuit noise causes unbounded growth, thereby rendering the CIC interpolation filter unstable. In general, there is a processing balance between the comb and integrator sections of the filter, such that processed output samples of the filter remain within predetermined amplitude thresholds or limits. In other words, input samples are preconditioned by the comb section so that amplitude overflows do not occur in the integrator sections. When the parameters are changed or noise is interjected, variances (or errors) in samples being processed occur. These variances, in turn, are further acerbated, typically without bound, by the integrators.
Once a conventional CIC interpolation filter becomes unstable it must be manually reset. As a practical matter, instability caused by the changing of filter parameters is not a significant problem because the change is initiated by the application (or user); the application "knows" that the filter becomes unstable at the time of such change. Accordingly, a properly designed application will merely reset the filter after it changes the parameters.
Circuit noise, however, is random, caused for example by fluctuations in electrical power sources, atmospheric disturbances (such as lightening, physical shock, high energy radiation particles), or other unpredictable events. Since these events are infrequent and hard to detect, an application is typically designed to wait until a complete system failure occurs, determine if the failure is due to a CIC interpolation filter instability, and only then reset the filter. For example, in a wireless communication application this type of instability, albeit infrequent, is catastrophic in that the channel is completely lost requiring the user to initiate another connection. Indeed, the instability problem may cause such bandwidth growth that would affect other channels in the cellular system.
Another example, where the instability of conventional CIC interpolation filters is a major problem which prevents their use, is in satellites where high energy radiation particles are common. Furthermore, in such a space- and energy-constrained application, the provision of any additional circuitry that might otherwise be required to monitor for instability would be costly and undesirable.